package com.qf.myaspect;

import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Pointcut;
import org.springframework.stereotype.Component;

//@Component
//@Aspect
//public class MyAspect  {
//
//    //定义切面表达式方法
//    @Pointcut("execution(* *.*.service.impl.*.*(..))")
//    public void pt1(){}
//
//    //配置环绕通知
//    @Around("pt1()")
//    public Object myaround(ProceedingJoinPoint joinPoint){
//        //声明真实角色的代理对象
//        Object obj = null;
//        try{
//            //前置通知
//            System.out.println("加载方法前.先权限校验");
//            //调用方法
//           obj = joinPoint.proceed();
//           //后置通知
//            System.out.println("调用方法后,产生日志");
//        } catch (Throwable throwable) {
//            throwable.printStackTrace();
//            //异常通知
//            System.out.println("产生异常了");
//        } finally {
//            //最终通知
//            System.out.println("最终通知....");
//        }
//
//        return obj;
//    }
//}
